<?php
namespace Admin\Model;
use Think\Model;
/**
* CategoryModel
*/
class CategoryModel extends Model
{
	//表单的数据验证
	protected $_validate = array(
		//array(验证的字段(表单项)，验证的规则，错误提示，验证条件(0字段存在，1必须验证，2不为空时验证)，附加规则，验证时间(1插入时验证，2更新时验证，3都要验证))
        array('catename','require','栏目名必须填写'),
        array('pathname','require','目录名必须填写'),
        array('pathname','/^[A-Za-z0-9_]+$/','目录名格式为字母数字下划线_',1,'regex'),
		array('pathname','','目录名称已经存在',1,'unique',3),
	);

	//封装栏目排序查询方法
    public function cate(){
        //实例化Model类
        $list=$this->query('select *,concat(arrparentid,",",cateid) as paths from xwcms_category order by sort,cate_type,paths');
        foreach($list as $key=>$value){
            //获取path列
            $cateid=$value['cateid'];
            $z=$value['arrparentid'];
            //转换为数组
            $arr=explode(',',$z);
            //获取数组长度
            $len=count($arr);
            //获取逗号个数
            $gs=$len-1;
            //拼接分隔符  重复字符串
            
            if($gs==0){
            	$list[$key]['catename']=$value['catename'];
            }else{
                $list[$key]['catename']=str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',$gs)."├─".$value['catename'];
            }
            
        }
        return $list;
    }



    public function parentid($arr){
        //判断添加的栏目是否是顶级栏目
        if($arr['parentid']==0){
            $arr['arrparentid']='0';
        }else{
            //获取父类的信息
            $info=$this->find($arr['parentid']);
            $arr['arrparentid']=$info['arrparentid'].','.$info['cateid'];
        }
        return $arr;
    }
    public function parentpath($arr){
        //判断添加的栏目是否是顶级栏目
        if($arr['parentid']==0){
            $arr['pathname']=$arr['pathname'];
        }else{
            //获取父类的信息
            $info=$this->where('cateid='.$arr['parentid'])->getField('pathname');
            $arr['pathname']=$info.'/'.$arr['pathname'];
        }
        return $arr;
    }
    //获取PC模板文件存放路径
    public function file_path(){
        //获取PC模板文件存放路径
        $file_path = TMPL_PATH . 'pc/default/';
        return $file_path;
    }
    //获取手机模板文件存放路径
    public function mfile_path(){
        //获取手机模板文件存放路径
        $mfile_path = TMPL_PATH . 'm/default/';
        return $mfile_path;
    }
    //获取pc端模板
    public function pc_field(){
        //获取PC模板文件存放路径
        $file_path = TMPL_PATH . 'pc/default/';
        //获取模板文件目录下文件
        $list = glob($file_path . '*.html');
        //pc端 title
        $pc_fields = include TMPL_PATH.'pc/default/' . 'config.php';
        $pc_fields = $pc_fields? : array();

        $files = array();
        foreach ($list as $file) {
            if (is_file($file)) {
                $name = basename($file);
                $files[] = array(
                    'name'  => $name,//文件名
                    'bname' => base64_encode($name),//文件名加密
                    'path'  => $file,//路径
                    'write' => is_writable($file),//可写
                    'mtime' => filemtime($file),//创建时间
                    'title' =>$pc_fields[$name].'---'.$name,
                );
            }
        }
        return $files;
    }
    //获取手机端模板
    public function m_field(){
        //获取手机模板文件存放路径
        $mfile_path = TMPL_PATH . 'm/default/';
        //获取模板文件目录下文件
        $mlist =glob($mfile_path . '*.html');
        $mfiles = array();
        foreach ($mlist as $file) {
            if (is_file($file)) {
                $name = basename($file);
                $mfiles[] = array(
                    'name'  => $name,//文件名
                    'bname' => base64_encode($name),//文件名加密
                    'path'  => $file,//路径
                    'write' => is_writable($file),//可写
                    'mtime' => filemtime($file),//创建时间
                );
            }
        }
        return $mfiles;
    }
    //遍历列表页模板
    public function list_tpl($files=null){
        //遍历不同类型的模板
        foreach($files as $k=>$v){
            if(strstr($v['title'],"List_")){
                $list_tpl[]=$v['title'];//列表页模板
            }
        }
        return $list_tpl;
    }
    //遍历内容页模板
    public function show_tpl($files=null){
        foreach($files as $k=>$v){
            if(strstr($v['title'],"Show_")){
                $show_tpl[]=$v['title'];//内容页模板
            }
        }
        return $show_tpl;
    }
    //首页模板 栏目模板
    public function category_tpl($files=null){
        foreach($files as $k=>$v){
            if(strstr($v['title'],"Category_")){
                $index_tpl[]=$v['title'];//首页模板 栏目模板
            }
        }
        return $index_tpl;
    }

    //遍历单页模板
    public function page_tpl($files=null){
        foreach($files as $k=>$v){
            if(strstr($v['title'],"Page_")){
                $page_tpl[]=$v['title'];//单页模板
            }
        }
        return $page_tpl;
    }

    public function add_title($files,$info){
        foreach($files as $k=>$v){
            if($v['name']==$info){
                $info=$v['title'];//单页模板
            }
        }
        return $info;
    }

    
   

}